TEMPLATE = lib
TARGET   = cvv.interface
QT      += core sql widgets xml concurrent
DEFINES  +=CVV_INTERFACE_LIBRARY
CONFIG += c++14

header.files += *.h
header.files += $$PWD/dtos/*.h
header.path =$$PWD/../../cvvinfrastructure_build/includes/interface
INSTALLS += header

INCLUDEPATH += $$PWD/../cvv.extension_system
INCLUDEPATH += $$PWD/../../cvvision/cvv.dtos
INCLUDEPATH += $$PWD/../../cvvision/cvv.infrastructure/src/common_ui
INCLUDEPATH += $$PWD/../../cvvision/cvv.infrastructure/src/graphic_view
INCLUDEPATH += $$PWD/../cvv.utils
INCLUDEPATH += $$PWD/../../cvvision/cvv.entity

#配置输入路径
win32:mingw{
        INCLUDEPATH += $$PWD/../../cvvision/cvv.3rdparty/opencv4.5.4/include
        LIBS += $$PWD/../../cvvision/cvv.3rdparty/opencv4.5.4/lib/mingw64/libopencv_*.dll

    CONFIG(debug, debug|release){
        LIBS +=$$PWD/../../cvvinfrastructure_build/lib/Debug/cvv.infrastructure.extension_system.dll
        LIBS +=$$PWD/../../cvvinfrastructure_build/lib/Debug/cvv.infrastructure.utils.dll
        LIBS +=$$PWD/../../cvvision_build/lib/Debug/cvv.infrastructure.commonui.dll
        LIBS +=$$PWD/../../cvvision_build/lib/Debug/cvv.infrastructure.graphicView.dll
        LIBS +=$$PWD/../../cvvision_build/lib/Debug/cvv.entity.dll

    }else{
        LIBS +=$$PWD/../../cvvinfrastructure_build/lib/Release/cvv.infrastructure.extension_system.dll
        LIBS +=$$PWD/../../cvvinfrastructure_build/lib/Release/cvv.infrastructure.utils.dll
        LIBS +=$$PWD/../../cvvision_build/lib/Release/cvv.infrastructure.commonui.dll
        LIBS +=$$PWD/../../cvvision_build/lib/Release/cvv.infrastructure.graphicView.dll
        LIBS +=$$PWD/../../cvvision_build/lib/Release/cvv.entity.dll
    }
}

win32:msvc{
        INCLUDEPATH += $$PWD/../cvv.3rdparty/opencv4.5.2_vs15/include
        LIBS += -L$$PWD/../../../cvv.3rdparty/opencv4.5.2_vs15/lib/x64/ -lopencv_world452d

    CONFIG(debug, debug|release){
        LIBS +=$$PWD/../../cvvinfrastructure_build/lib/Debug/cvv.infrastructure.extension_system.lib
        LIBS +=$$PWD/../../cvvinfrastructure_build/lib/Debug/cvv.infrastructure.utils.lib
        LIBS +=$$PWD/../../cvvision_build/lib/Debug/cvv.infrastructure.commonui.lib
        LIBS +=$$PWD/../../cvvision_build/lib/Debug/cvv.infrastructure.graphicView.lib
        LIBS +=$$PWD/../../cvvision_build/lib/Debug/cvv.entity.lib

    }else{
        LIBS +=$$PWD/../../cvvinfrastructure_build/lib/Release/cvv.infrastructure.extension_system.lib
        LIBS +=$$PWD/../../cvvinfrastructure_build/lib/Release/cvv.infrastructure.utils.lib
        LIBS +=$$PWD/../../cvvision_build/lib/Release/cvv.infrastructure.commonui.lib
        LIBS +=$$PWD/../../cvvision_build/lib/Release/cvv.infrastructure.graphicView.lib
        LIBS +=$$PWD/../../cvvision_build/lib/Release/cvv.entity.lib
    }
}

linux{
    INCLUDEPATH += /opt/mais_trivision_depends/algorithm_depends/opencv4.5.4/include
    LIBS += /opt/mais_trivision_depends/algorithm_depends/opencv4.5.4/libs/libopencv*.so.4.5.4
    CONFIG(debug, debug|release){
        LIBS +=$$PWD/../../cvvision_build/lib/Debug/libcvv.infrastructure.graphicView.so.1.0.0
        LIBS +=$$PWD/../../cvvision_build/lib/Debug/libcvv.infrastructure.commonui.so.1.0.0
        LIBS +=$$PWD/../../cvvinfrastructure_build/lib/Debug/libcvv.infrastructure.extension_system.so.1.0.0
        LIBS +=$$PWD/../../cvvinfrastructure_build/lib/Debug/libcvv.infrastructure.utils.so.1.0.0
        LIBS +=$$PWD/../../cvvision_build/lib/Debug/libcvv.entity.so.1.0.0
    }else{
        LIBS +=$$PWD/../../cvvision_build/lib/Release/libcvv.infrastructure.graphicView.so.1.0.0
        LIBS +=$$PWD/../../cvvision_build/lib/Release/libcvv.infrastructure.commonui.so.1.0.0
        LIBS +=$$PWD/../../cvvinfrastructure_build/lib/Release/libcvv.infrastructure.extension_system.so.1.0.0
        LIBS +=$$PWD/../../cvvinfrastructure_build/lib/Release/libcvv.infrastructure.utils.so.1.0.0
        LIBS +=$$PWD/../../cvvision_build/lib/Release/libcvv.entity.so.1.0.0
    }
}

#配置输出路径
CONFIG(debug, debug|release){
    DESTDIR =     $$PWD/../../cvvinfrastructure_build/lib/Debug
    MOC_DIR =     $$PWD/../../cvvinfrastructure_build/moc/Debug
    RCC_DIR =     $$PWD/../../cvvinfrastructure_build/rcc/Debug
    UI_DIR =      $$PWD/../../cvvinfrastructure_build/ui/Debug
    OBJECTS_DIR = $$PWD/../../cvvinfrastructure_build/obj/Debug
}else{
    DESTDIR =     $$PWD/../../cvvinfrastructure_build/lib/Release
    MOC_DIR =     $$PWD/../../cvvinfrastructure_build/moc/Release
    RCC_DIR =     $$PWD/../../cvvinfrastructure_build/rcc/Release
    UI_DIR =      $$PWD/../../cvvinfrastructure_build/ui/Release
    OBJECTS_DIR = $$PWD/../../cvvinfrastructure_build/obj/Release
}

include($$PWD/dtos/dtos.pri)

HEADERS += \
    IAlgorithmPluginOperator.h \
    IAlgorithmPluginParam.h \
    IApiService.h \
    IBLLControlOperator.h \
    IBLLNodeParam.h \
    IBLLOperator.h \
    IBLLParam.h \
    IEngine.h \
    IFlowTreeManager.h \
    IPluginOperator.h \
    IPluginParam.h \
    ISignalBridge.h \
    Interface_Global.h \
    IPluginDefine.h \
    IPluginDialog.h \
    PluginContainerWidget.h \
    PluginContainerTitleBar.h

SOURCES += \
    IAlgorithmPluginOperator.cpp \
    IAlgorithmPluginParam.cpp \
    IApiService.cpp \
    IBLLControlOperator.cpp \
    IBLLNodeParam.cpp \
    IBLLOperator.cpp \
    IBLLParam.cpp \
    IEngine.cpp \
    IFlowTreeManager.cpp \
    IPluginOperator.cpp \
    IPluginParam.cpp \
    IPluginDialog.cpp \
    ISignalBridge.cpp \
    PluginContainerWidget.cpp \
    PluginContainerTitleBar.cpp

FORMS += \
    PluginContainerWidget.ui \
    PluginContainerTitleBar.ui


